//
// MLME task global functions
//


/////////////////////////////////////////////////////////////////////////////
//Global Functions
extern unsigned char MLME_Init(PWB32_ADAPTER);
extern void MLME_Halt(PWB32_ADAPTER);
extern void MLME_Stop( PWB32_ADAPTER Adapter);
extern void MLME_Entry(PWB32_ADAPTER , pK_MSG);
extern void MLME_initState(PWB_BSSDESCRIPTION);
extern void MLME_IBSSinitState(PWB32_ADAPTER Adapter);
extern void MLME_findSTA(PWB_BSSDESCRIPTION);
extern void MLME_JoinCfm(PWB_BSSDESCRIPTION psBSS, u8 BssType);
//extern unsigned char boMLME_InactiveState(PWB_BSSDESCRIPTION);
//extern unsigned char boMLME_IdleScanState(PWB_BSSDESCRIPTION);
//extern unsigned char boMLME_FoundSTAinfo(PWB_BSSDESCRIPTION);
extern void vMlmeTimerStop(PWB32_ADAPTER Adapter, u16 wIdx);
#ifdef _IBSS_BEACON_SEQ_STICK_
extern void vMlmeTimerStart(PWB32_ADAPTER Adapter, u16 wIdx, u32 timeout_value);
#endif
extern int SendProbeRequest(PWB32_ADAPTER Adapter, struct SSID_Element *SSID);

extern s8 SendAuthenticationRequest(PWB32_ADAPTER    Adapter,
                               u16              iMSindex,
                               u16             wAuthenType,
                               u16             wAuthenSeqNum,
                               u16             wStatus,
                               PUCHAR           ChallengeText);
extern s8 SendDeauthentication(PWB32_ADAPTER Adapter,
                          u16 iMSindex,
                          u16 reasonCode);
s8 SendAssociationRequest(PWB32_ADAPTER   Adapter,
                            u16             iMSindex,
                            unsigned char         Reasso);//added by ws 07/22/04
                            
/*int SendReassociationRequest(PWB32_ADAPTER Adapter,
                             int         iMSindex);*/
                           //  omint by ws 07/22/04
                             
s8 SendDisassociation(PWB32_ADAPTER   Adapter,
                        u16 			iMSindex,
                        u16        	reasonCode);

#define CardGetChallengeText( _AA_ , _BB_ )


